
function AjoutUtilisateurController($scope, Utilisateur, Role, Agence) {
	$scope.scAgence = null;/*instance objet Agence*/
	$scope.scUtilisateur = null;/*instance objet Utilisateur*/
	$scope.alerts = [];/*pile des alertes*/

	var addAlert = function(typeAlert, msgAlert) {
		$scope.alerts.push({type: typeAlert, msg: msgAlert});
	};

	$scope.closeAlert = function(index) {
		$scope.alerts.splice(index, 1);
	};

	var resetForm = function () {
		$scope.utilisateur = null;
		$scope.roles = null;

		chargeTousLesRoles();
		retourneToutesLesAgences();
    }
	
	var chargeTousLesRoles = function () {
		$scope.scRole = new Role();
		$scope.scRole.retourneTousLesRoles().then(function(e) {
    		$scope.roles = e.data;
    	});
    }
	
	var retourneToutesLesAgences = function () {
		$scope.scAgence = new Agence();
		$scope.scAgence.retourneAgences().then(function(e) {
			$scope.agences = e.data;
		});
	}
	
	$scope.post = function() {
		$scope.utilisateur.mdp = CryptoJS.SHA1($scope.utilisateur.mdp).toString(); 
		$scope.utilisateur.login = CryptoJS.SHA1($scope.utilisateur.login).toString(); 
		$scope.scUtilisateur = new Utilisateur($scope.utilisateur);

		resetForm();

	    $scope.scUtilisateur.ajouterUtilisateur().then(function(e){

	    	if( typeof e.data.message != "undefined" ) {
	    		addAlert('danger', e.data.message);
	    	} else {
	    		addAlert('success', "L'utilisateur " + e.data.nom + " " + e.data.prenom + " a \351t\351 correctement ajout\351e en base.");
	    	}

	    });
	};
	
	$scope.cancel = function() {
		resetForm();
	}
	
	chargeTousLesRoles();
	retourneToutesLesAgences();
}
